(deftemplate elev
    (slot materie)
    (slot nota))

(assert (elev(materie matematica)(nota 10)))
(assert (elev(materie fizica)(nota 10)))
(assert (elev(materie informatica)(nota 10)))

(assert (elev(materie biologie)(nota 6)))
(assert (elev(materie chimie)(nota 5)))

(assert (elev(materie engleza)(nota 7)))
(assert (elev(materie franceza)(nota 8)))
(assert (elev(materie germana)(nota 9)))

(assert (elev(materie istorie)(nota 7)))
(assert (elev(materie romana)(nota 8)))


(defrule info
    (elev (materie matematica&?m1)(nota ?n1))
    (elev (materie fizica&?m2)(nota ?n2))
    (elev (materie informatica&?m3)(nota ?n3))
    (test (> ?n1 8))
    (test (> ?n2 8))
    (test (> ?n3 8))
    =>
    (printout t "Poti depune dosarul la Facultatea de Matematica si Informatica. " crlf)
    )

(defrule jurna
    (elev (materie romana&?m1)(nota ?n1))
    (elev (materie engleza&?m2)(nota ?n2))
    (elev (materie istorie&?d3)(nota ?n3))
    (test (> ?n1 8))
    (test (> ?n2 8))
    (test (> ?n3 8))
    =>
    (printout t "Poti depune dosarul la Facultatea de Jurnalism. " crlf)
    )

(defrule litere
    (elev (materie engleza&?d1)(nota ?n1))
    (elev (materie romana&?d2)(nota ?n2))
    (elev (materie franceza&?d3)(nota ?n3))
    (test (> ?n1 8))
    (test (> ?n2 8))
    (test (> ?n3 8))
    =>
    (printout t "Poti depune dosarul la Facultatea de Litere. " crlf)
    )

(run)